package com.settlement.system.model.entity.common;

import java.math.BigDecimal;
import java.util.Date;
import java.io.Serializable;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 蘑菇街-余额明细
 * @author Ximi
 * @since 2020-06-16
 */
@Data
@ExcelIgnoreUnannotated
@HeadStyle(fillBackgroundColor = 9,fillForegroundColor = 9)
@HeadRowHeight(value = 20)
@HeadFontStyle(fontHeightInPoints = 14)
public class TblMgjBalanceDetail extends BaseModel implements Serializable {


    /**
     * 店铺编码
     */
    @ExcelProperty(value = "店铺编码")
    @ApiModelProperty(value = "店铺编码",required = true)
    @NotNull(message = "店铺编码不能为空")
    private String shopNo;

    /**
     * 店铺名称
     */
    @ExcelProperty(value = "店铺名称")
    @ApiModelProperty(value = "店铺名称")
    private String shopName;

    /**
     * 一级业务类型
     */
    @ExcelProperty(value = "一级业务类型")
    @ApiModelProperty(value = "一级业务类型")
    private String fristBusinessType;

    /**
     * 二级业务类型
     */
    @ExcelProperty(value = "二级业务类型")
    @ApiModelProperty(value = "二级业务类型",required = true)
    @NotNull(message = "二级业务类型不能为空")
    private String secondBusinessType;

    /**
     * 流水号
     */
    @ExcelProperty(value = "流水号")
    @ApiModelProperty(value = "流水号",required = true)
    @NotNull(message = "流水号不能为空")
    private String serialNo;

    /**
     * 金额
     */
    @ExcelProperty(value = "金额")
    @ApiModelProperty(value = "金额",required = true)
    @NotNull(message = "金额不能为空")
    private BigDecimal amount;

    /**
     * 变更后余额
     */
    @ExcelProperty(value = "变更后余额")
    @ApiModelProperty(value = "变更后余额")
    private BigDecimal changedBalaceAmount;

    /**
     * 业务编号
     */
    @ExcelProperty(value = "业务编号")
    @ApiModelProperty(value = "业务编号",required = true)
    @NotNull(message = "业务编号不能为空")
    private String businessNo;

    /**
     * 入账时间
     */
    @ExcelProperty(value = "入账时间")
    @ApiModelProperty(value = "入账时间")
    @JsonFormat(pattern="yyyy/MM/dd HH:mm:ss",timezone = "GMT+8")
    private Date enterAccountDate;

    /**
     * 订单商品信息
     */
    @ExcelProperty(value = "订单商品信息")
    @ApiModelProperty(value = "订单商品信息")
    private String orderItemInformation;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;


}
